package com.bdqn;

import com.bdqn.buyer.Buyer;
import com.bdqn.buyer.IntermediarySubClass;
import com.bdqn.buyer.RealBuyer;

/**
 * Test03 测试静态代理模式（实现接口的方式）
 *
 * @author LILIBO
 * @since 2021-10-08
 */
public class Test03 {

    public static void main(String[] args) {

        // 不使用代理的方式
        Buyer buyer = new RealBuyer();
        // String msg = buyer.havealook();
        // System.out.println(msg);

        // 静态代理，方式一：接口方式实现静态代理
        // Buyer daili1 = new IntermediaryImpl(buyer);
        // String msg1 = daili1.havealook();
        // System.out.println(msg1);

        // 静态代理，方式二：继承方式实现静态代理
        Buyer daili2 = new IntermediarySubClass();
        String msg2 = daili2.havealook();
        System.out.println(msg2);

    }
}
